x
globals [grid-size total-deaths]​patches-own [cycle-count]​to setup clear-all set grid-size 99; Tamaño del retÃculo (100x100) resize-world 0 grid-size 0 grid-size​ set-patch-size tamaño setup-grid setup-special-patches set total-deaths 0 reset-ticksendto setup-grid ask patches[ set pcolor black set cycle-count 0 ] ifelse NatStart [ ask n-of 5000 patches[ set pcolor blue ] ][ ask patches [ if (pxcor + pycor) mod 2 = 0 [ set pcolor blue ] set cycle-count 0 ] ]end​to setup-special-patches ask n-of 5 patches with [pcolor = black] [ set pcolor yellow set cycle-count 0 ] ask n-of 5 patches with [pcolor = black] [ set pcolor red set cycle-count 0 ]end​to go if ticks mod ticks-ciclos = 0 [ ask patches [​ ; Implementar reglas de transición aquà let vecinos-cs count neighbors with [pcolor = red] let vecinos-cns count neighbors with [pcolor = yellow] let vecinos-ct count neighbors with [pcolor = orange] let vecinos-pac count neighbors with [pcolor = green]​ ifelse pcolor = red [ if cycle-count > 7[ set pcolor orange set cycle-count 0 ] ] [ ifelse pcolor = yellow [ ; Persona infectada con COVID asintomática (Cns) if cycle-count > 30[ set pcolor green set cycle-count 0 ] ] [ ifelse pcolor = orange [ ; Persona infectada con COVID en cuarentena o cuidados medidos (Ct) ; Reglas para el estado Ct if cycle-count > 20[ ifelse random-float 1 < 0.8[ set pcolor green ][ set pcolor black set total-deaths total-deaths + 1 ] ]​ ] [ ; Otros estados ifelse pcolor = blue [ ; Persona sana (Ps) let vec-ct 0 if Ct_contagia [set vec-ct vecinos-ct] let vec-pac 0 if Pac_contagia [set vec-pac vecinos-pac] if random-float 1 < 0.1 * (vecinos-cs + vecinos-cns + vec-ct + vec-pac) [ ifelse random-float 1 < 0.4[ set pcolor red ][ set pcolor yellow set cycle-count 0 ] ] ] [ ] ] ]​ ] set cycle-count cycle-count + 1 ] ask patches[ let dir random-float 1 let target-patch patch-at 0 0 let col pcolor let cicl cycle-count ifelse dir < 0.25 [ if pycor != max-pycor [ set target-patch patch-at 0 1 ] ][ ifelse dir < 0.5 [ if pycor != min-pycor [ set target-patch patch-at 0 -1 ] ][ifelse dir < 0.75 [ if pxcor != max-pycor [ set target-patch patch-at 1 0 ] ][ if pxcor != min-pycor [ set target-patch patch-at -1 0 ] ] ] ] if [pcolor] of target-patch = black [ ask target-patch[ set pcolor col set cycle-count cicl ] set pcolor black ] ] ; Actualizar el valor de total-deaths ;;set total-deaths count patches with [pcolor != white]​ ] tickend